perm filename GNODES[11,BGB] blob sn#114005 filedate 1974-08-01 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00007 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00003 00002	4.5	GEOMED Node Formats.
C00006 00003	 2  U	Universe
C00008 00004	 4  C	Camera
C00010 00005	 6  D	Window
C00012 00006	14  B	Body
C00018 00007	16  E	Edge
C00033 ENDMK
CāŠ—;
4.5	GEOMED Node Formats.

 0  T	TRAM

    ----------------------------
-3 |		xwc		|	X
-2 |		ywc		|	Y   World coordinates
-1 |		zwc		|	Z
 0 |		ix		|	X
 1 |		iy		|	Y   i Unit vector
 2 |		iz		|	Z
 3 |		jx		|	X
 4 |		jy		|	Y   j Unit vector
 5 |		jz		|	Z
 6 |		kx		|	X
 7 |		ky		|	Y   k Unit vector
 8 |		kz		|	Z
    ----------------------------

	The Tram  node contains the  location and orientation  of an
entity with respect to world coordinates. The locus coordinates are in
centimeters. The world origin and orientation, of course, are defined
outside of GEOMED -  for the cart project the world  origin is at the
center  of the laboratory building's circular  arc 440 feet above sea
level, the  Z axis  is striaght up...  For the  hand/eye project  the
origin is  at the corner of  the table nearest the golden  arm, the Z
axis points up the X axis points towards the blue Sierra camera,  the
Y axis points towards the blue arm.
---------------------------------------------------------------------
 1  M	Empty

	The list of empty nodes is maintained in the +1 cdr link.
The last empty node contains a zero address pointer. All the word
of the empty node besides -3 and 0 contain zero.
---------------------------------------------------------------------
 2  U	Universe

    ----------------------------
-3 |		    Coresize 	|
-2 |		            	|
-1 |		   Block Count	|
 0 |	type		      2	|
 1 |		      Avail 	|
 2 |		    		|  Contains base of free storage for I/O
 3 |				|
 4 |		       son	|  World Ring
 5 |				|
 6 |				|
 7 |				|
 8 |				|
    ----------------------------

	The universe node is unique; it is the first node in a GEOMED
address space. Immediately accessible from the universe node is the ring
of world, the empty node list, and the ring of displays.

---------------------------------------------------------------------
 3  S	SUN

    ----------------------------
-3 |				|
-2 |				|
-1 |				|
 0 |	type		      3	|
 1 |				|
 2 |				|
 3 |				|
 4 |			pwrld	|
 5 |	bro (sun ring)	sis	|
 6 |	alt		frame	|
 7 |		0		|
 8 |				|
    ----------------------------
	The sun node represents a light source, however it is very much
like a camera.
---------------------------------------------------------------------
 4  C	Camera

    ----------------------------
-3 |		scalex		|
-2 |		scaley		|
-1 |		scalez		|
 0 |	type		      4	|
 1 |	pdx		ldx	|
 2 |	pdy		ldy	|	Physical and logical raster size
 3 |	focal		ldz	|
 4 |	DAD		SON	|	DAD(camera)=universe
 5 |	BRO		SIS	|	World ring
 6 |		       FRAME	|	Camera frame of reference
 7 |				|
 8 |				|
    ----------------------------
---------------------------------------------------------------------
 5  W	World

    ----------------------------
-3 |				|
-2 |		pname1		|
-1 |		pname2		|
 0 |	type		      5	|
 1 |			PFACE	|	Potentially visible face list
 2 |	NED		PED	|	Ends of potentionally visible edge list
 3 |				|	After SHOW, PED is head of visible edge list
 4 |	DAD		SON	|	DAD(world)=universe
 5 |	BRO		SIS	|	World ring
 6 |			FRAME	|	World frame
 7 |	CW		CCW	|	Body ring (all bodies in this world)
 8 |				|
    ----------------------------

 6  D	Window

    ----------------------------
-3 |	sx		sy	|	Source origin
-2 |	ox		oy	|	Object origin
-1 |		mag		|	Magnification
 0 |	type	      	      6	|
 1 |	XL		XH	|	2D Clipper window
 2 |	YL		YH	|
 3 |				|
 4 |	DAD		SON	|	DAD(window)=universe
 5 |	BRO		SIS	|	World ring
 6 |	ALT		ALT2	|	ALT(window)=camera, ALT2(window)=world or image
 7 |				|
 8 |				|
    ----------------------------

 7  I	Image

    ----------------------------
-3 |				|
-2 |				|
-1 |				|
 0 |	type		      7	|
 1 |	NFACE		PFACE	|	Face ring
 2 |	NED		PED	|	Edge ring
 3 |	NVT		PVT	|	Vertex ring
 4 |	DAD		SON	|	DAD(image)=universe
 5 |	BRO		DAD	|	World ring
 6 |				|
 7 |				|
 8 |				|
    ----------------------------

14  B	Body

    ----------------------------
-3 |				|
-2 |		pname1		|
-1 |		pname2		|
 0 |	type		     14	|
 1 |	NFACE		PFACE	|	Face ring
 2 |	NED		PED	|	Edge ring
 3 |	NVT		PVT	|	Vertex ring
 4 |	DAD		SON	|	Parts tree
 5 |	BRO		SIS	|	Parts tree
 6 |	ALT		FRAME	|	ALT temporary, FRAME is body frame of reference
 7 |	CW		CCW	|	Body ring
 8 |	CAR8		CDR8	|	Reserved for users
    ----------------------------

15  F	Face

    ----------------------------
-3 |		AA		|	Face coefficients (Perspective coordinates)
-2 |		BB		|
-1 |		CC		|	AA x + BB Y + CC Z = KK
 0 |	type		     15	|
 1 |	NFACE		PFACE	|	Face ring
 2 |	(NCNT)		PED	|	PED: First Edge
 3 |		KK		|	[Face coefficient]
 4 |	(DAD)		(SON)	|	(Nested polygon tree)
 5 |	(BRO)		(SIS)	|
 6 |	ALT		POTEN	|	ALT temporary,,Potentially visible face list
 7 |		QQ		|	Photometric characteristics (4 9-bit bytes, CRBG)
 8 |	CAR8		CDR8	|	Reserved for users
    ----------------------------

16  E	Edge

    ----------------------------
-3 |	x1dc	AA	y1dc	|	2D Clipper:  Edge display coordinates
-2 |	x2dc	BB	x2dc	|	OCCULT:  2D Edge coefficients  AA Xpp + BB Ypp + CC = 0
-1 |	naf	CC	paf	|	Body Intersection: Temperaries
 0 |	type		     16	|
 1 |	NFACE		PFACE	|	Two Faces of the edge
 2 |	NED		PED	|	Edge ring
 3 |	NVT		PVT	|	Two vertices of the edge
 4 |	NCW		PCW	|	Wings:  Negative and positive clockwise
 5 |	NCCW		PCCW	|	Wings:  Negative and postive counter-clockwise
 6 |	ALT		ALT2	|	Temperaries,  ALT2 is visible edge list
 7 |	UFACE		PBODY	|	[OCCULT, BIN] Under[Over]face
 8 |	CAR8		CDR8	|	Reserved for users
    ----------------------------

17  V	Vertex

    ----------------------------
-3 |		Xwc		|	X
-2 |		Ywc		|	Y   World coordinates
-1 |		Zwc		|	Z
 0 |	type		     17	|
 1 |	xdc		ydc	|	Display coordinates (currently REAL)
 2 |	TJOINT/PY	PED	|	OCCULT: TJOINT, GEOMED: PY,,First edge
 3 |	NVT		PVT	|	Vertex ring
 4 |		Xpp		|	X
 5 |		Ypp		|	Y   Perspective projected
 6 |	ALT	Zpp	ALT2	|	Z or temperary
 7 |	CAR7		CDR7	|	Temperary
 8 |	CAR8		CDR8	|	Reserved for users
    ----------------------------